﻿using System;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;

namespace CLM.Gestao.Administrador.UI
{
    public partial class ImportarCustoUnitario : Form
    {
        public ImportarCustoUnitario()
        {
            try
            {
                InitializeComponent();
                var pos = this.PointToScreen(lblTitulo.Location);
                pos = picTitulo.PointToClient(pos);
                lblTitulo.Parent = picTitulo;
                lblTitulo.Location = pos;
                lblTitulo.BackColor = Color.Transparent;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void btnImportarCustoUnitario_Click(object sender, EventArgs e)
        {
            Importar();
        }

        private void Importar()
        {
            try
            {
                this.ofdImportar.Multiselect = false;
                this.ofdImportar.Title = "Selecionar Arquivos para Importação";
                this.ofdImportar.InitialDirectory = "C:\\";
                this.ofdImportar.FileName = "Selecione o arquivo...";
                this.ofdImportar.Filter = "Arquivos do Excel (*.xlsm;*.xlsx;*.xls)|*.xlsm;*.xlsx;*.xls";
                this.ofdImportar.CheckFileExists = true;
                this.ofdImportar.CheckPathExists = true;
                this.ofdImportar.FilterIndex = 2;
                this.ofdImportar.RestoreDirectory = true;
                this.ofdImportar.ReadOnlyChecked = true;
                this.ofdImportar.ShowReadOnly = true;

                DialogResult dr = this.ofdImportar.ShowDialog();
                if (dr == System.Windows.Forms.DialogResult.OK)
                {
                    //BLL.CustoUnitario CustoUnitario = new BLL.CustoUnitario();
                    //CustoUnitario.OnImportData += new Importacao.ImportDataEventHandler(CustoUnitario_OnImportData);
                    //CustoUnitario.ImportaCustoUnitario(ofdImportar.FileNames.First());
                    //CustoUnitario.OnImportData -= new Importacao.ImportDataEventHandler(CustoUnitario_OnImportData);
                    MessageBox.Show("Importação concluída.");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message); ;
            }
        }

        void CustoUnitario_OnImportData(object sender, Importacao.ImportDataEventArgs e)
        {
            if (e.Tipo == Importacao.ImportDataEventArgs.type.Processo)
            {
                pgbProgresso.Maximum = e.Total;
                pgbProgresso.Value = e.Atual;

                lblMensagem.Text = String.Format("{0} - {1} de {2}", e.Mensagem, e.Atual, e.Total);
            }
            else
                lblMensagem.Text = String.Format("{0}", e.Mensagem);
        }
    }
}